export function isAnagram(s: string, t: string): boolean {
    if (s.length !== t.length) return false;

    const map = new Map<string, number>();

    for (let si of s) {
        const v = map.get(si);
        if (!v) {
            map.set(si, 1);
        } else {
            map.set(si, v+1);
        }
    }

    for (let ti of t) {
        let v = map.get(ti);
        console.log(`${ti}: ${v}`);

        if (!v) return false;
        v = v - 1;
        if (v < 0) return false;
        map.set(ti, v);
        if (v === 0) map.delete(ti);
    }

    return map.size === 0;
};